/**
 * Description:
 * Class Name:WeakHashMapTest
 * Date:2022/3/6 16:34
 *
 * @author LTisme
 * @version JAVA17
 */
package 疯狂Java讲义.第8章_Java集合._8_6_增强的Map集合._8_6_6_WeakHashMap实现类;

import java.util.WeakHashMap;

public class WeakHashMapTest {
    public static void main(String[] args) {
        var whm = new WeakHashMap();
        // 向WeakHashMap中添加3个key-value对，它们的key都是匿名字符串对象（没有其他引用）
        whm.put(new String("语文"), new String("良好"));
        whm.put(new String("数学"), new String("及格"));
        whm.put(new String("英文"), new String("中等"));
        // 向WeakHashMap中添加一个key-value对，该key是一个系统缓存的字符串对象——在常量池里，它就是强引用的
        whm.put("java", new String("中等"));
        // 输出whm对象，将看到4个key-value对
        System.out.println(whm);

        // 通知系统立即进行垃圾回收
        System.gc();
        System.runFinalization();

        // 通常情况下，将只看到一个key-value对
        System.out.println(whm);
    }
}
//{英文=中等, java=中等, 数学=及格, 语文=良好}
//{java=中等}